home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1998 November / Freeware November 1998.img / dist / fw_msql.idb / usr / freeware / msql / include / mod_std.h.z / mod_std.h
Text File  |  1998-10-27  |  5KB  |  203 lines

  1. /*
  2. **    mod_std.h    -  Definition of the standard Lite / W3-mSQL library
  3. **
  4. **
  5. ** Copyright (c) 1995-96  Hughes Technologies Pty Ltd
  6. **
  7. ** Permission to use, copy, and distribute for non-commercial purposes,
  8. ** is hereby granted without fee, providing that the above copyright
  9. ** notice appear in all copies and that both the copyright notice and this
  10. ** permission notice appear in supporting documentation.
  11. **
  12. ** The software may be modified for your own purposes, but modified versions
  13. ** may not be distributed.
  14. **
  15. ** This software is provided "as is" without any expressed or implied warranty.
  16. **
  17. */
  18.  
  19.  
  20.  
  21.  
  22. /*
  23. ** Standard external function prototypes
  24. */
  25.  
  26. void doSplit();
  27. void doMerge();
  28. void doTokSplit();
  29. void doStrSeg();
  30. void doChop();
  31. void doTr();
  32. void doSub();
  33. void doTest();
  34. void doSubStr();
  35.  
  36. void doPrintf();
  37. void doFprintf();
  38. void doEcho();
  39. void doFatal();
  40.  
  41. void doOpen();
  42. void doClose();
  43. void doRead();
  44. void doReadLn();
  45. void doReadTok();
  46. void doIncludeFile();
  47.  
  48. void doExit();
  49. void doUnlink();
  50. void doUmask();
  51. void doChmod();
  52. void doSleep();
  53. void doSystem();
  54. void doGetpid();
  55. void doGetppid();
  56. void doChdir();
  57. void doMkdir();
  58. void doRmdir();
  59. void doRename();
  60. void doTruncate();
  61. void doLink();
  62. void doSymlink();
  63.  
  64. void doStat();
  65. void doKill();
  66.  
  67. void doTime();
  68. void doCTime();
  69. void doGetTzOffset();
  70.  
  71. void doGetHostByName();
  72. void doGetHostByAddr();
  73.  
  74. void doUrlEncode();
  75. void doSetContentType();
  76. void doIncludeFile();
  77. void doHttpAuth();
  78. void doForceHttpAuth();
  79.  
  80. void doTime2UnixTime();
  81. void doUnixTime2Year();
  82. void doUnixTime2Month();
  83. void doUnixTime2Day();
  84. void doUnixTime2Hour();
  85. void doUnixTime2Min();
  86. void doUnixTime2Sec();
  87. void doStrftime();
  88.  
  89. void doGetUid();
  90. void doGetEuid();
  91. void doGetGid();
  92.  
  93. void doCrypt();
  94.  
  95. void doGetPwNam();
  96. void doGetPwUid();
  97.  
  98. void doSrandom();
  99. void doRandom();
  100.  
  101. void doTypeOf();
  102.  
  103. void initModStd();
  104.  
  105.  
  106. /*
  107. ** Note : Because this is a static linked module (rather than a dynamic
  108. ** loaded module) we don't need to include the CFuntName field in the
  109. ** function table)
  110. */
  111.  
  112.  
  113. /*
  114. ** Standard external function definitions
  115. **
  116. ** This table maps from internal function names to the C code.
  117. ** The format is :-
  118. **
  119. **    {LiteName, CFunctPtr, CFunctName, NumArgs, { Arg1Type, Arg2Type..., 0}}
  120. **
  121. **    Setting NumArgs to -1 indicates varargs
  122. */
  123.  
  124.  
  125. efunct_t std_efuncts[] = {
  126.     { "printf", doPrintf, NULL, -1, { P_TEXT, 0} },
  127.     { "fprintf", doFprintf, NULL, -1, { P_INT, P_TEXT, 0} },
  128.     { "echo", doEcho, NULL, 1, { P_TEXT, 0} },
  129.     { "fatal", doFatal, NULL, 1, { P_TEXT, 0} },
  130.     { "open", doOpen, NULL, 2, {P_TEXT, P_TEXT, 0} },
  131.     { "close", doClose, NULL, 1, {P_INT, 0} },
  132.     { "read", doRead, NULL, 2, {P_INT, P_INT, 0} },
  133.     { "readln", doReadLn, NULL, 1, {P_INT, 0} },
  134.     { "readtok", doReadTok, NULL, 2, {P_INT, P_TEXT, 0} },
  135.  
  136.     { "exit", doExit, NULL, 1, {P_INT, 0} },
  137.     { "split", doSplit, NULL, 2, {P_TEXT, P_TEXT, 0}},
  138.     { "merge", doMerge, NULL, 2, {P_ARRAY, P_TEXT, 0}},
  139.     { "toksplit", doTokSplit, NULL, 2, {P_TEXT, P_TEXT, 0}},
  140.     { "strseg", doStrSeg, NULL, 3, {P_TEXT, P_INT, P_INT, 0}},
  141.     { "chop", doChop, NULL, 1, {P_TEXT, 0}},
  142.     { "tr", doTr, NULL, 3, {P_TEXT, P_TEXT, P_TEXT,0}},
  143.     { "sub", doSub, NULL, 3, {P_TEXT, P_TEXT, P_TEXT,0}},
  144.     { "test", doTest, NULL, 2, {P_TEXT, P_TEXT, 0}},
  145.     { "substr", doSubStr, NULL, 3, {P_TEXT,P_TEXT,P_TEXT,0}},
  146.  
  147.     { "unlink", doUnlink, NULL, 1, {P_TEXT,0} },
  148.     { "umask", doUmask, NULL, 1, {P_INT, 0}},
  149.     { "chmod", doChmod, NULL, 2, {P_TEXT,P_INT,0}},
  150.     { "mkdir", doMkdir, NULL, 1, {P_TEXT,0} },
  151.     { "chdir", doChdir, NULL, 1, {P_TEXT,0} },
  152.     { "rmdir", doRmdir, NULL, 1, {P_TEXT,0} },
  153.     { "rename", doRename, NULL, 2, {P_TEXT, P_TEXT} },
  154.     { "truncate", doTruncate, NULL, 2, {P_TEXT, P_INT} },
  155.     { "link", doLink, NULL, 2, {P_TEXT, P_TEXT} },
  156.     { "symlink", doSymlink, NULL, 2, {P_TEXT, P_TEXT} },
  157.     { "sleep", doSleep, NULL, 1, {P_INT, 0}},
  158.     { "system", doSystem, NULL, 1, {P_TEXT,0}},
  159.     { "getpid", doGetpid, NULL, 0, {0}},
  160.     { "getppid", doGetppid, NULL, 0, {0}},
  161.     { "stat", doStat, NULL, 1, {P_TEXT,0}},
  162.     { "kill", doKill, NULL, 2, {P_INT, P_INT,0}},
  163.  
  164.     { "getuid", doGetUid, NULL, 0, {0}},
  165.     { "geteuid", doGetEuid, NULL, 0, {0}},
  166.     { "getgid", doGetGid, NULL, 0, {0}},
  167.  
  168.     { "time", doTime, NULL, 0, {0}},
  169.     { "ctime", doCTime, NULL, 1, {P_INT,0}},
  170.     { "getTzOffset", doGetTzOffset, NULL, 0, {0}},
  171.  
  172.     { "gethostbyname", doGetHostByName, NULL, 1, {P_TEXT,0}},
  173.     { "gethostbyaddr", doGetHostByAddr, NULL, 1, {P_TEXT,0}},
  174.  
  175.     { "urlEncode", doUrlEncode, NULL, 1, {P_TEXT,0}},
  176.     { "setContentType", doSetContentType, NULL, 1, {P_TEXT,0}},
  177.     { "includeFile", doIncludeFile, NULL, 1, {P_TEXT,0}},
  178.     { "httpAuth", doHttpAuth, NULL, 2, {P_TEXT, P_TEXT, 0}},
  179.     { "forceHttpAuth", doForceHttpAuth, NULL, 2, {P_TEXT, P_TEXT, 0}},
  180.  
  181.     { "time2unixtime", doTime2UnixTime, NULL, 6, {P_INT, P_INT, P_INT, 
  182.         P_INT, P_INT, P_INT, 0}},
  183.     { "unixtime2year", doUnixTime2Year, NULL, 1, {P_INT, 0}},
  184.     { "unixtime2month", doUnixTime2Month, NULL, 1, {P_INT, 0}},
  185.     { "unixtime2day", doUnixTime2Day, NULL, 1, {P_INT, 0}},
  186.     { "unixtime2hour", doUnixTime2Hour, NULL, 1, {P_INT, 0}},
  187.     { "unixtime2min", doUnixTime2Min, NULL, 1, {P_INT, 0}},
  188.     { "unixtime2sec", doUnixTime2Sec, NULL, 1, {P_INT, 0}},
  189.     { "strftime", doStrftime, NULL, 2, {P_TEXT, P_INT, 0}},
  190.  
  191.     { "crypt", doCrypt, NULL, 2, {P_TEXT, P_TEXT, 0}},
  192.  
  193.     { "getpwnam", doGetPwNam, NULL, 1, {P_TEXT, 0}},
  194.     { "getpwuid", doGetPwUid, NULL, 1, {P_INT, 0}},
  195.  
  196.     { "srandom", doSrandom, NULL, 1, {P_INT, 0}},
  197.     { "random", doRandom, NULL, 0, {0}},
  198.  
  199.     { "typeof", doTypeOf, NULL, -1, {0}},
  200.  
  201.     { NULL, 0 }
  202. };
  203.